FIG. 1 depicts an illustrative environment in which relayed modem communication is carried out over a packet-based network. As shown in the figure, a modem 102 is connected to network device 104, which is in turn connected to a packet-based network 106. Also connected to the packet-based network 106 is another network device 108, which in turn is connected to another modem 110.
Each of the modems 102 and 110 is capable of generating and receiving modulated signals that convey digital information. A wide range of modulation schemes may be implemented. These include different types of amplitude modulation such as quadrature amplitude modulation (QAM), different types of phase shift keying modulation such as quadrature phase shift keying modulation (QPSK), different types of frequency shift keying modulation (FSK), etc. The appropriate type of modulation scheme or schemes used may depend on the specific needs of a particular implementation. Some examples of data transfer standards that may be followed by modems 102 and 110 may include the V. 26, V.32, V.34, and other standards as recommended by the Comité Consultatif International Téléphonique et Télégraphique (CCITT), or Telecommunication Standardization Sector of the International Telecommunications Union (ITU). Modems 102 and 110 may be capable of either transmitting modulated signals in a bi-directional fashion or a uni-directional fashion.
Traditionally, modems 102 and 110 would be capable of transmitting modulated signals to one another over an analog medium. For example, the modulated signals may be transmitted over a co-axial cable, on twisted-pair wires, over the air, and so on. The modulated signals may also occupy different portions of the frequency spectrum. For example, the modulated signals may transmitted at baseband, intermediate frequency (IF), radio frequency (RF), etc.
However, an environment such as that shown in FIG. 1 allows modulated signals generated by modems 102 and 110 to be converted to packetized data and relayed over a packet-based network. The relay of modem communications over packet-based networks provides significant benefits by allowing modem communications to be carried out while taking advantage of additional bandwidth, efficient routing, improved control, and other significant benefits that may be associated with a packet-based network. FIG. 1 illustrates bi-directional communications between modems 102 and 110, relayed over packet-based network 106.
Communication of data in one direction, from modem 102 to modem 110, is described in detail below. However, communication of data in the other direction, from modem 110 to modem 102, may be carried out in a similar fashion. Referring FIG. 1, modem 102 receives digital data from a data source (not shown). The data source may be a computer, a voice-based device such as a telephone, a data connection, etc. Modem 102 generates a modulated signal 112 that represents the data received from the data source. For example, modulated signal 112 may be generated based on the data according to a particular modulation scheme. Modem 102 may also implement additional features such as secure transmission and error correction. For example, modem 102 may apply encryption and error correction coding to the data received from the data source. The data, which may be encrypted and coded with error correction codes, may then be represented by symbols in the relevant modulation scheme. Each symbol may correspond to one bit of data. Alternatively, each symbol may represent multiple bits of data. Just as an example, a QAM modulation scheme may utilize each of the four different types of symbols to represent two bits of data. The possible bit pairs represented by a particular symbol may be (0,0), (0,1), (1,0), and (1,1). The symbols are modulated according to the modulation scheme at a particular symbol rate. Typically, the symbol rate is derived from some sort of clock signal. The clock signal may be based on an external clock source, and internal oscillator, etc.
Network device 104 receives modulated signal 112 and demodulates it to produce bits of data. This data may still include the encryption and error correction coding applied by modem 102. The demodulation process may be implemented by digital signal processing (DSP) hardware 114. Furthermore, the data may be processed by a secure interface unit 116, which may apply an additional level of security to the data before network transmission. Different types of data security may be implemented, including known security protocols and variations thereof. For example, Secure Telephone Unit—third generation (STU-III), Future Narrowband Digital Terminal (FNBDT), and Secure Communications Interoperability Protocol (SCIP) are some known protocols that may be used. In some implementations, the data is encrypted according to the relevant security protocol by secure interface unit 116. In other implementations, the data is encrypted using the relevant security protocol by modem 102, and secure interface unit 116 merely passes along the encrypted data without modifying it. In yet other implementations, modem 102 applies one type of encryption, and secure interface unit 116 applies an additional level of encryption. In any case, network transport processing 118 converts the data into packets 120 appropriate for forwarding over packet-based network 104. This may involve dividing the data into portions that are then incorporated into different packets. Each packet may include different parts such as headers, body, error correction codes, etc. The packets may be constructed according to protocols defined at multiple levels of networking technology, as is known in the art. Just as one example, packets 120 may be Internet Protocol (IP) packets. Network device 104 thus transmits packet 120 to network 106.
Packets 120 may traverse network 106 via circuitous routes in accordance with the relevant protocols associated with network 106. Continuing with the previous example, network 106 may be implemented as an IP network, and packets 120 may be routed utilizing IP address information contained in packets 120.
Network device 108 receives packets 120 and converts the packets back into a format suitable for transmission to modem 110. Specifically, network device 108 may utilize network transport processing 121 to extract relevant data from packets 120. The data may be processed by a secure interface unit 122, which may remove any securing encoding or encryption applied by secure interface 116. Network device 108 then generates a modulated signal 126 that represents this data. The modulation process may be implemented by DSP hardware 124. Modulated signal 126 may be generated according to a particular modulation scheme at a particular symbol rate. As in the case of modulation signal 112, the symbol rate associated with modulated signal 126 may be derived from some sort of clock signal. The clock signal may be based on an external clock source, and internal oscillator, etc.
Modem 110 receives modulated signal 126 and performs demodulation to generated demodulated data. The demodulated data may incorporate encryption, error correction coding, etc., implemented by modem 102. Modem 110 may thus perform the relevant decryption and/or error correction decoding to the demodulated data to generate data bits suitable for transmission to a data destination (not shown). The data destination may be a computer, a voice-based device such as a telephone, a data connection, etc.
In the course of the data communication from modem 102 to modem 110 described above, the clock signal used to control the symbol rate of modulated signal 112 at the transmit end may differ from the clock signal used to control the symbol rate of modulated signal 126 at the receive end. This is because the clocks signals at the two ends may be independently generated (e.g., from independent oscillators). Even if the clock signals are adjusted to be nominally the same rate and are only slightly different, the resulting difference between the symbol rates can accumulate over time, which is sometimes referred to as “clock drift.” This eventually leads to data underrun or data backup.
For instance, the symbol rate of modulated signal 126 may be faster than the symbol rate of modulated signal 112, which leads to a data underrun condition. Alternatively, the symbol rate of modulated signal 126 may be slower than the symbol rate of modulated signal 112, which leads to a data backup condition. The practical effects of such conditions can be quite significant. Just as an example, in an system carrying voice data, a data back up condition may cause noticeable audio delay.
Referring still to FIG. 1, communication of data in the other direction, from modem 110 to modem 102, may be carried out in a similar fashion and may suffer from the same problem. That is, modem 110 may send a modulated signal 128 to network device 108. Network device 108 may forward corresponding packets 130 over packet-based network 106 to network device 104. Network device 104 may send a modulated signal 132 to modem 102. Because of different clock signals, the symbol rate of modulated signal 126 may be different from the symbol rate of modulated signal 132. This again can lead to data underrun or data backup conditions.
Thus, there is a need to improve modem communications relayed over packet-based networks to compensate for unintended effects relating to the use of independent clocks.